Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Selenium for .Net. Enhancements. IContextAware interface. PageFactory enhancement. #304

Closed
wants to merge 8 commits into from
Closed

Conversation

TikhomirovSergey
Copy link
Contributor

No description provided.

@TikhomirovSergey TikhomirovSergey changed the title Selenium for .Net. Enhancements Selenium for .Net. Enhancements. IContextAware interface. PageFactory enhancement. Jan 3, 2015
@TikhomirovSergey
Copy link
Contributor Author

1 IContextAware interface.

Appium project needs this. If the similar interface exists at
selenium-java so why it can't be at C#/.Net client. :)

2 PageFactory enhancement.
These tools were implemented the perfectly similar way as it was done in Selenium Java. Now it is possible to design your own attributes/algorithms in order to decorate fields/properties by:

IFieldDecorator
ILocatorFactory
IElementLocator

Default implementations are already here. They can be extended, their virtual methods can be overridden

@TikhomirovSergey
Copy link
Contributor Author

Some more about

2 PageFactory enhancement.

Appuim project needs this in order to provide the following use case (field of page/screen object):

[FindsBy(How = How.CssSelector, Using = "relevant css")] //if there the similar browser UI as UI of a //native app
[AndroidFindBy(UIAutomator = "ui Automator locator for Android")] //if page object is going to be used against Android
[iOSFindBy(Accessibility = "accessibility for iOS")] //if page object is going to be used against 
//iOS
IWebElement targetElement;  //element is used for the mobile and browser testing

It is already present on the java-client side. If it is interesting details are below:
appium/java-client#68
appium/java-client#126
appium/java-client#140
appium/java-client#145

@Jonahss
Copy link
Contributor

Jonahss commented Jan 5, 2015

I dropped into the #selenium IRC channel on freenode and mentioned this PR. Here's a quick response:

[11:23] <jimevans> nope. i'm not merging that.
[11:23] <jimevans> it should be two pull requests, not one.
[11:24] <jimevans> and i'm not taking a dependency on another third-party library that can't be ilmerged into a single assembly.
[11:24] <jimevans> which castle.core can't.
[11:30] <jimevans> if the author wants to break it up into two pull requests, i'll look at them.

So breaking this into separate pull requests will make things easier to review.

@TikhomirovSergey
Copy link
Contributor Author

Ok! I'll separate it soon.

@TikhomirovSergey
Copy link
Contributor Author

Actually there is no Castle.Core reference anymore.

@TikhomirovSergey
Copy link
Contributor Author

I am closing this PR as it should be divided...

@TikhomirovSergey TikhomirovSergey deleted the page-factory-C# branch January 6, 2015 12:13
@TikhomirovSergey
Copy link
Contributor Author

Was splitted to:
#305
#306

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants